package br.org.acessobrasil.portal.modelo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "sgctb_conteudo_formatado")
public class ConteudoFormatado implements Serializable,Cloneable {
	private static final long serialVersionUID = -7862004418188523192L;
	@Id
	@GeneratedValue
	private Long nu_conteudo_formatado;
	private Long nu_item_conteudo;
	private Long nu_informacao_tipo_conteudo;
	
	//tem como evitar o columnDefinition?
	@Column(columnDefinition="TEXT")//for MySQL
	//@ Column(columnDefinition="LONGVARCHAR")//for HSQL
	private String de_conteudo;
	
	@ManyToOne
	@JoinColumn(name = "nu_informacao_tipo_conteudo", updatable = false, insertable = false)
	private InformacaoTipoConteudo informacaoTipoConteudo;

	@ManyToOne
	@JoinColumn(name = "nu_sitio")
	private Sitio sitio;
	
	@Transient
	private RelatorioAcessibilidade relatorioAcessibilidade;
	
	public Long getNuConteudoFormatado() {
		return nu_conteudo_formatado;
	}

	public void setNuConteudoFormatado(Long nu_conteudo_formatado) {
		this.nu_conteudo_formatado = nu_conteudo_formatado;
	}

	public Long getNuItemConteudo() {
		return nu_item_conteudo;
	}

	public void setNuItemConteudo(Long nu_conteudo) {
		this.nu_item_conteudo = nu_conteudo;
	}

	public long getNuInformacaoTipoConteudo() {
		return nu_informacao_tipo_conteudo;
	}

	public void setNuInformacaoTipoConteudo(Long nu_informacao_tipo_conteudo) {
		this.nu_informacao_tipo_conteudo = nu_informacao_tipo_conteudo;
	}

	public String getDeConteudo() {
		return de_conteudo;
	}

	public void setDeConteudo(String conteudo) {
		this.de_conteudo = conteudo;
	}

	public InformacaoTipoConteudo getInformacaoTipoConteudo() {
		return informacaoTipoConteudo;
	}

	public void setInformacaoTipoConteudo(InformacaoTipoConteudo informacaoTipoConteudo) {
		this.informacaoTipoConteudo = informacaoTipoConteudo;
	}

	public RelatorioAcessibilidade getRelatorioAcessibilidade() {
		return relatorioAcessibilidade;
	}

	public void setRelatorioAcessibilidade(RelatorioAcessibilidade relatorioAcessibilidade) {
		this.relatorioAcessibilidade = relatorioAcessibilidade;
	}
	@Override
	public Object clone() throws CloneNotSupportedException {
		return super.clone();
	}
	public Sitio getSitio() {
		return sitio;
	}
	public void setSitio(Sitio sitio) {
		this.sitio = sitio;
	}
}
